home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / tls / tls088.hpux.Z / tls088.hpux / lib / vtcl / tests / combobox.tcl < prev    next >
Encoding:
Text File  |  1995-07-20  |  1.7 KB  |  84 lines

  1. # CVS $Id: combobox.tcl,v 1.5 1995/02/22 16:21:31 zibi Exp $
  2.  
  3. #
  4. # a minimal test of the combobox widget
  5. #
  6.  
  7. global fn
  8.  
  9. proc quitCB {cbs} {
  10.      global fn
  11.      global cmb
  12. #     VtDestroyDialog $cmb
  13.      VtClose
  14. }
  15.  
  16. proc comboChangedCB {cbs} {
  17.     global label1
  18.  
  19.     set newval [keylget cbs value]
  20.     set w  [keylget cbs widget]
  21.  
  22.     VtSetValues $label1 \
  23.         -label "Changed: $newval"
  24.  
  25. }
  26.  
  27. proc comboActivateCB {cbs} {
  28.     global label2
  29.     
  30.     set newval [keylget cbs value]
  31.     set w  [keylget cbs widget]
  32.  
  33.     set oldlist  [ VtGetValues $w -itemList ]
  34.  
  35.     set found [ lsearch $oldlist $newval ]
  36.  
  37.     if { $found < 0 } {
  38.       VtSetValues $label2 -label "Added: $newval"
  39.       set newlist [ linsert $oldlist 100 $newval ]
  40.       VtSetValues $w -itemList  $newlist -rows [ llength $newlist ]
  41.     } else {
  42.       VtSetValues $label2 \
  43.         -label "Activate: $newval"
  44.     }
  45.  
  46. }
  47.  
  48. set cmb [ VtOpen "testcombo"]
  49.  
  50. set fn [VtFormDialog $cmb.comboform -title "ComboBox" -xmArgs "XmNresizable False"]
  51.  
  52. set label1 [VtLabel $fn.label1 -label "Changed: No Callback Yet" ]
  53. set label2 [VtLabel $fn.label2 -label "Activate: No Callback Yet" ]
  54.  
  55. VtComboBox $fn.combo \
  56.     -valueChangedCallback comboChangedCB \
  57.     -callback comboActivateCB \
  58.     -itemList {one two three four five averylongiteminthelistjustforkicks seven last} \
  59.     -value two \
  60.     -rightSide FORM \
  61.     -columns 20 \
  62.     -xmArgs "XmNbackground red"
  63.  
  64. set cb1 [VtComboBox $fn.combo1 \
  65.          -valueChangedCallback comboChangedCB \
  66.          -callback comboActivateCB \
  67.          -itemList {one two three four} \
  68.          -width 100 -CHARM_width 10 \
  69.          -value four \
  70.          -topSide $fn.combo\
  71.          -rightSide FORM\
  72.          -readOnly\
  73.           -xmArgs "XmNbackground red" ]
  74.  
  75. VtPushButton $fn.quit -label Exit -callback quitCB \
  76.  
  77. VtShow $fn
  78.  
  79. # This is not a legal command!
  80. #set value [VtGetValues $cb1 -value]
  81.  
  82. VtMainLoop
  83.  
  84.